home *** CD-ROM | disk | FTP | other *** search
/ Aminet 37 / Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso / Aminet / dev / misc / AWNP_2-39.lha / AWNP / AWNP-Docs / internals.doc < prev    next >
Text File  |  1999-11-08  |  3KB  |  66 lines

  1. Internal controls.
  2. -----------------
  3.  
  4. - option
  5. ========
  6.  
  7. Specify a minimum version of AWNPipe you need. The format is /-VVRRR where V is the version and R is the revision.
  8. AWNPipe:name/-02009 will fail to open unless AWNPipe is version 2.9 or newer.
  9.  
  10. A option
  11. ========
  12.  
  13. Abort pending reads. When developing programs that use AWNP it is common to make an error and have pending reads on both ends of you pipe. The pipe hangs and so does your program. If you open the pipe a third time using the '/a' option the pending reads are aborted.  The pipe is no longer hanging and  your program should exit. The third open itself ALWAYS fails.
  14.  
  15. M option
  16. ========
  17.  
  18. Multiple opens. When a pipe is opened it behaves normaly. However when this file handle is closed that end of the pipe becomes available to be opened again. If the 'open first end' (/1)  flag is set the open call only tries to open the first side of the pipe (the end that was opened when the pipe was created).If the donotwait flag is set the open cal only tries to open the second side of the pipe (the end that was NOT opened first). When neither flag is set you get the first end of the pipe if available, else you get the second end.
  19.  
  20. I option
  21. ========
  22.  
  23. Immediate reads. Reads to the file handle will return if there is any data waiting to be read. Therefore only a read of 0 length means end of file. This is useful with data originating  interactively from con: or ser: .
  24.  
  25. F option
  26. ========
  27.  
  28. Force a pipe to be created. A new pipe is created even if the pipe name is already is use. The open will not fail, and it will not connect to any currently existing pipe end. After both ends of the forced pipe are completed any previous partial ( only opened once) pipe of that name becomes available again.
  29.  
  30. ! or ~ option.
  31. ==============
  32.  
  33. Do not wait. The open will fail unless the other end of the pipe is already open. A new pipe will not ever be created. Used on a tap it stops the tap from waiting for a matching pipe to be created.
  34.  
  35. @ option
  36. ==============
  37.  
  38.  Respond to seek packets. Normaly seek is not supported by AWNPipe. If see is
  39. turned on, the current position is reported as '0' if no data is available on
  40. the pipe, '1' if data is waiting to be read.
  41.  
  42.  NOTE Do not use this function from ARexx as ARexx has a read ahead buffer
  43. that is flushed when you call seek. This can cause you to loose data. It may
  44. also happen in other languages if read data is buffered.
  45.  
  46. S or s option
  47. ==============
  48.  
  49. Status of a pipe. This MUST always be a tap as well. Read only returns a single byte. This is the status of the real pipe the tap refers to. The bits/nibbles or byte meanings are as follows.
  50.  
  51. 'FF' indicates  file handle does not exist. (you can check just the high bit)
  52.  
  53. low nibble = First end that is opened.
  54. high nibble =second end opened.
  55.  
  56. in each nibble
  57.  
  58. bit 4 always zero when FH exists
  59. bit 3 FH opened.  (nibble&4)
  60. bit 2 FH closed.  (nibble&2)
  61. bit 1 FH data available.  (nibble&1)  sub for WaitForChar in AREXX.
  62.  
  63. Note 'FF' indicates no file handle active.
  64.  
  65.  
  66.